

package CaixaEletronico;

import javax.swing.JOptionPane;

public class CaixaEletronico {

    public static void main(String[] args) {
        int opc;
        do {
            opc = Integer.parseInt(JOptionPane.showInputDialog("CAIXA ELETRÔNICO\nEm qual aba você deseja entrar?\n(1) Operações "
                    + "em conta\n(2) Informações Cliente\n(3) Informações Banco\n(4) Sair\n\nDigite o "
                    + "número correspondente a operação desejada."));
            switch (opc) {
                case 1: {
                    //Conta
                    Conta c = new Conta();
                    String vagencia = "0", vnumeroConta = "0", vnome = "0";
                    double valor;
                    boolean ativa = false;
                    int op;

                    do {
                        op = Integer.parseInt(JOptionPane.showInputDialog("O que você deseja fazer?\n(1) Abrir Conta\n(2) "
                                + "Depositar\n(3) Sacar\n(4) Consultar seu saldo\n(5) Fechar conta\n(6) Sair\n\nDigite o "
                                + "número correspondente a operação desejada."));

                        switch (op) {
                            case 1: {
                                vagencia = JOptionPane.showInputDialog("Caixa Eletrônico\nInforme:\nAgência: ");
                                vnumeroConta = JOptionPane.showInputDialog("Número da conta: ");
                                vnome = JOptionPane.showInputDialog("Nome do correntista: ");

                                c.abrir(vnome, vagencia, vnumeroConta);
                                JOptionPane.showMessageDialog(null, "Conta criada com sucesso.");
                                break;
                            }
                            case 2: {
                                valor = Float.parseFloat(JOptionPane.showInputDialog("Informe o valor da transação: "));
                                c.depositar(valor);
                                break;
                            }
                            case 3: {
                                valor = Float.parseFloat(JOptionPane.showInputDialog("Informe o valor da transação: "));
                                c.sacar(valor);
                                break;
                            }
                            case 4: {
                                JOptionPane.showMessageDialog(null, "Seu saldo atual é: R$ " + c.saldo());
                                break;
                            }
                            case 5: {
                                c.fechar();
                                JOptionPane.showMessageDialog(null, "Sua conta foi desativada.");
                                break;
                            }
                            default: {

                            }
                        }
                    } while (op != 6);
                    break;
                }
                case 2: {
                    //Cliente
                    Cliente cli = new Cliente();

                    String cpf, nomecli, datanasc, endereco, negativadoSPC, negativadoSERASA;

                    nomecli = JOptionPane.showInputDialog("Digite as informações do cliente\nNome do cliente");
                    cpf = JOptionPane.showInputDialog("CPF");
                    datanasc = JOptionPane.showInputDialog("Data de nascimento");
                    endereco = JOptionPane.showInputDialog("Endereço");
                    negativadoSPC = JOptionPane.showInputDialog("Negativado SPC? Sim/Não");
                    negativadoSERASA = JOptionPane.showInputDialog("Negativado Serasa? Sim/Não");

                    cli.setNomecli(nomecli);
                    cli.setCpf(cpf);
                    cli.setDatanasc(datanasc);
                    cli.setEndereco(endereco);
                    cli.setNegativadoSPC(negativadoSPC);
                    cli.setNegativadoSERASA(negativadoSERASA);

                    cli.verificaSPC();
                    cli.verificaSERASA();

                    JOptionPane.showMessageDialog(null, "Nome do Cliente: " + nomecli + "\nCPF: " + cpf + "\nData de nascimento: " + datanasc
                            + "Endereço: " + endereco + "\nNegativado SPC: " + negativadoSPC + "\nNegativado SERASA: " + negativadoSERASA);
                    break;
                }
                case 3: {
                    //Banco
                    Banco b = new Banco();
                    String nome = "0", numero = "0", EmprestimoImovel, EmprestimoCarro, emprestaImovel, emprestaCarro;

                    nome = JOptionPane.showInputDialog("Digite as informações do banco\nNome do banco");
                    numero = JOptionPane.showInputDialog("Número do banco");

                    b.setNome(nome);
                    b.setNumero(numero);

                    do {
                        EmprestimoImovel = JOptionPane.showInputDialog("Esse banco faz Empréstimo para Imóveis? (S/N)");
                    } while (!EmprestimoImovel.equalsIgnoreCase("S") && !EmprestimoImovel.equalsIgnoreCase("N"));
                    do {
                        EmprestimoCarro = JOptionPane.showInputDialog("Esse banco faz Empréstimo para Carros? (S/N)");
                    } while (!EmprestimoCarro.equalsIgnoreCase("S") && !EmprestimoCarro.equalsIgnoreCase("N"));

                    if (EmprestimoImovel.equalsIgnoreCase("S")) {
                        b.setEmprestimoImovel(true);
                    } else {
                        b.setEmprestimoImovel(false);
                    }

                    if (EmprestimoCarro.equalsIgnoreCase("S")) {
                        b.setEmprestimoCarro(true);
                    } else {
                        b.setEmprestimoCarro(false);
                    }

                    if (b.EmprestimoImovel == true) {
                        emprestaImovel = "Sim";
                    } else {
                        emprestaImovel = "Não";
                    }

                    if (b.EmprestimoCarro == true) {
                        emprestaCarro = "Sim";
                    } else {
                        emprestaCarro = "Não";
                    }

                    JOptionPane.showMessageDialog(null, "Nome do Banco: " + nome + "\nNúmero do Banco: " + numero
                            + "\nEsse banco faz Empréstimo para Imóvel: " + emprestaImovel + "\nEsse banco faz Empréstimo "
                            + "para Carro: " + emprestaCarro);
                    break;
                }
                default: {

                }
            }
        } while (opc != 4);
    }
    
}
